"""
author：fc
date：  2021/10/3
"""
#
# matplotlib的使用:折线图，散点图(plot),直方图用hist，plt.plot,plt.hist
#
import matplotlib.pylab as plb
import matplotlib.pyplot as plt #
import numpy as np

x = [1, 2, 3, 4, 6]
y = [2, 3, 4, 6, 7]
plt.plot(x, y, )  # 绘制折线图，第三个参数是展现形式，
plb.plot(x, y)
plt.show()
plb.show()  # 两个画来没有什么区别

plt.plot(x, y, 'o')  # 绘制散点图
plt.show()

# 改变散点颜色 c：青色，r:红色，品红：m,绿色：g,b:蓝色，y:黄色：,W：白色
plt.plot(x, y, "oc")  # 青色散点图
plt.show()

# 改变线条样式：-:直线,--:虚线,-.:一刚一点,:细小虚线
plt.plot(x, y, "-.")
plt.show()

# 改变散点中点的样式： s:方形，h:六角形，H:另一种六角形，*:星形状，+：加号形状，x:形状，D:菱形，p:五角星
plt.plot(x, y, "*")  # 星形散点
plt.show()

# 添加 标题,横轴名称，纵轴名称，定义x轴范围，y轴范围
plt.rcParams['font.sans-serif'] = ['SimHei']  # 加这两行显示中文
plt.rcParams['axes.unicode_minus'] = False
plt.title("折线图添加标题")  # 中文无法显示
plt.xlabel("横轴名称")
plt.ylabel("纵轴名称")
plt.xlim(0, 10)  # 设置x轴范围
plt.ylim(0, 9)  # 设置y轴范围
plt.plot(x, y, "-.")
# 再添加一条线段
m = range(1, 9, 1)
n = range(2, 10, 1)
plt.plot(m, n)
plt.show()

## 绘制直方图(横向值表示范围，纵向表示该范围出现的值的个数)
int_random_number=np.random.random_integers(1,10,1000) # 生成10个1-10随机数
normal_distribut_number=np.random.normal(5.0,2.0,1000) #生成10个满足正态分布（均值5.0，方差2.0）的数
sty=np.arange(2,17,4)
plt.hist(normal_distribut_number,sty,histtype='stepfilled') # sty设置直方图的宽度,取消轮廓
plt.hist(int_random_number)
plt.show()

# 绘制子图
#plt.subplot() # 三个参数：行、列，当前区域
plt.subplot(2,2,1) # 两行两列，定位在第一个区域
a=[1,2,3,4,5] #这个
b=[2,4,7,2,9]
plt.plot(x,y,"-.") #这个图显示在（2,2,1）区域
plt.subplot(2,2,2) #  两行两列，定位在第二个区域
c=[3,6,2,5,7]
d=[1,2,4,5,6] #这个图显示在（2,2,2）区域
plt.plot(c,d,"--")
plt.subplot(2,1,2)
e=[12,34,25,46]
f=[1,3,5,7]
plt.plot(e,f,":")
plt.show()
